package android.slc.db_objectbox.sys.service;


import android.slc.db_objectbox.sys.entity.CsConfig;

/**
 * 用户盒子服务
 */
public interface CsConfigDaoService extends DaoService<CsConfig> {

    CsConfig getConfig(String key);

    default String getConfigValue(String key) {
        return getConfigValue(key, null);
    }

    default String getConfigValue(String key, String defValue) {
        return getConfigValue(key, defValue, false);
    }

    default String getConfigValue(String key, boolean autoCreate) {
        return getConfigValue(key, null, autoCreate);
    }

    default String getConfigValue(String key, String defValue, boolean autoCreate) {
        CsConfig csConfig = getConfig(key);
        if (csConfig == null && autoCreate) {
            csConfig = new CsConfig();
            csConfig.setKey(key);
            csConfig.setValue(defValue);
            put(csConfig);
        }
        return csConfig != null ? csConfig.getValue() : defValue;
    }
}
